package com.css.fxfzxczh.modules.seismicIntensityMap.seismicIntensityDraw.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 断层
 */
@Data
public class JcFault implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 工作底图比例尺（分母）
     */
    @Excel(name = "工作底图比例尺（分母）", width = 20, orderNum = "1")
    private Double scale;

    /**
     * 断裂带名称
     */
    @Excel(name = "断裂带名称", width = 20, orderNum = "2")
    private String fractureZoneName;

    /**
     * 断层名称
     */
    @Excel(name = "断层名称", width = 20, orderNum = "3")
    private String dcName;

    /**
     * 断层段名称
     */
    @Excel(name = "断层段名称", width = 20, orderNum = "4")
    private String faultSegmentName;

    /**
     * 走向 [16方位]
     */
    private Integer strikeDrection;
    @Excel(name = "走向", width = 20, orderNum = "5")
    private String strikeDrectionStr;

    /**
     * 断层走向 [度]
     */
    @Excel(name = "断层走向", width = 20, orderNum = "6")
    private Double strike;

    /**
     * 倾向 [16方位]
     */
    private Integer direction;
    @Excel(name = "倾向", width = 20, orderNum = "7")
    private String directionStr;

    /**
     * 倾角 [度]
     */
    @Excel(name = "倾角", width = 20, orderNum = "8")
    private Double clination;

    /**
     * 长度
     */
    @Excel(name = "长度", width = 20, orderNum = "9")
    private String jfLength;

    /**
     * 上断点埋深 [米]
     */
    @Excel(name = "上断点埋深", width = 20, orderNum = "10")
    private String topDepth;

    /**
     * 破碎带宽度 [米]
     */
    @Excel(name = "破碎带宽度", width = 20, orderNum = "11")
    private String width;

    /**
     * 变形带宽度 [米]
     */
    @Excel(name = "变形带宽度", width = 20, orderNum = "12")
    private String fractureBeltWidth;

    /**
     * 断层性质
     */
    @Excel(name = "断层性质", width = 20, orderNum = "13")
    private Integer feature;
    private String featureStr;

    /**
     * 最新活动时代
     */
    @Excel(name = "最新活动时代", width = 20, orderNum = "14")
    private Integer latestActivePeriod;
    private String latestActivePeriodStr;

    /**
     * 位移与平均速率起算时间
     */
    @Excel(name = "位移与平均速率起算时间", width = 20, orderNum = "15")
    private String startTimeEst;

    /**
     * 垂直位移 [米]
     */
    @Excel(name = "垂直位移", width = 20, orderNum = "16")
    private Double vdisplaceEst;

    /**
     * 垂直位移误差
     */
    @Excel(name = "垂直位移误差", width = 20, orderNum = "17")
    private Double vdisplaceEr;

    /**
     * 走向水平位移 [米]
     */
    @Excel(name = "走向水平位移", width = 20, orderNum = "18")
    private Double hdisplaceEst;

    /**
     * 走向水平位移误差
     */
    @Excel(name = "走向水平位移误差", width = 20, orderNum = "19")
    private Double hdisplaceEr;

    /**
     * 水平//张缩位移 [米]
     */
    @Excel(name = "水平//张缩位移", width = 20, orderNum = "20")
    private Double tdisplaceEst;

    /**
     * 水平张缩位移误差
     */
    @Excel(name = "水平张缩位移误差", width = 20, orderNum = "21")
    private Double tdisplaceEr;

    /**
     * 平均垂直速率 [毫米/年]
     */
    @Excel(name = "平均垂直速率", width = 20, orderNum = "22")
    private Double aveVrate;

    /**
     * 平均垂直速率误差
     */
    @Excel(name = "平均垂直速率误差", width = 20, orderNum = "23")
    private Double aveVrateEr;

    /**
     * 平均水平速率 [毫米/年]
     */
    @Excel(name = "平均水平速率", width = 20, orderNum = "24")
    private Double aveHrate;

    /**
     * 平均水平速率误差
     */
    @Excel(name = "平均水平速率误差", width = 20, orderNum = "25")
    private Double aveHrateRr;

    /**
     * 最新速率起算时间
     */
    @Excel(name = "最新速率起算时间", width = 20, orderNum = "26")
    private String startTimeNewest;

    /**
     * 最新垂直速率 [毫米/年]
     */
    @Excel(name = "最新垂直速率", width = 20, orderNum = "27")
    private Double newVrate;

    /**
     * 最新垂直速率误差
     */
    @Excel(name = "最新垂直速率误差", width = 20, orderNum = "28")
    private Double newVrateer;

    /**
     * 最新水平速率 [毫米/年]
     */
    @Excel(name = "最新水平速率", width = 20, orderNum = "29")
    private Double newHrate;

    /**
     * 最新水平速率误差
     */
    @Excel(name = "最新水平速率误差", width = 20, orderNum = "30")
    private Double newHrateer;

    /**
     * 最大垂直速率 [米]
     */
    @Excel(name = "最大垂直速率", width = 20, orderNum = "31")
    private Double maxVrate;

    /**
     * 最大垂直速率误差
     */
    @Excel(name = "最大垂直速率误差", width = 20, orderNum = "32")
    private Double maxVrateEr;

    /**
     * 最大水平速率 [毫米/年]
     */
    @Excel(name = "最大水平速率", width = 20, orderNum = "33")
    private Double maxHrate;

    /**
     * 最大水平速率误差
     */
    @Excel(name = "最大水平速率误差", width = 20, orderNum = "34")
    private Double maxHrateRr;

    /**
     * 古地震事件次数
     */
    @Excel(name = "古地震事件次数", width = 20, orderNum = "35")
    private Integer eqEventCount;

    /**
     * 古地震复发间隔
     */
    @Excel(name = "古地震复发间隔", width = 20, orderNum = "36")
    private Double eqEventRibottom;

    /**
     * 古地震复发间隔上限
     */
    @Excel(name = "古地震复发间隔上限", width = 20, orderNum = "37")
    private Double eqEventRitop;

    /**
     * 确定手段
     */
    @Excel(name = "确定手段", width = 20, orderNum = "38")
    private String method;

    /**
     * 最大破裂长度
     */
    @Excel(name = "最大破裂长度", width = 20, orderNum = "39")
    private Double maxRuptureLen;

    /**
     * 平均破裂长度
     */
    @Excel(name = "平均破裂长度", width = 20, orderNum = "40")
    private Double avgRuptureLen;

    /**
     * 最晚地震离逝时间
     */
    @Excel(name = "最晚地震离逝时间", width = 20, orderNum = "41")
    private String elapseTimeLatesteq;

    /**
     * 错动深度
     */
    @Excel(name = "错动深度", width = 20, orderNum = "42")
    private Double slipDepthEst;

    /**
     * 错动深度误差
     */
    @Excel(name = "错动深度误差", width = 20, orderNum = "43")
    private Double slipDepthEr;

    /**
     * 平均滑动速率 [毫米/年]
     */
    @Excel(name = "平均滑动速率", width = 20, orderNum = "44")
    private Double avgSlipRateest;

    /**
     * 平均滑动速率误差
     */
    @Excel(name = "平均滑动速率误差", width = 20, orderNum = "45")
    private Double avgSlipRateer;

    /**
     * 蠕动速率 [毫米/年]
     */
    @Excel(name = "蠕动速率", width = 20, orderNum = "46")
    private Double creepRateest;

    /**
     * 蠕动速率误差
     */
    @Excel(name = "蠕动速率误差", width = 20, orderNum = "47")
    private Double creepRateer;

    /**
     * 最大同震位移 [米]
     */
    @Excel(name = "最大同震位移", width = 20, orderNum = "48")
    private Double csMaxSlipest;

    /**
     * 最大同震位移误差
     */
    @Excel(name = "最大同震位移误差", width = 20, orderNum = "49")
    private Double csMaxSliper;

    /**
     * 平均同震位移 [米]
     */
    @Excel(name = "平均同震位移", width = 20, orderNum = "50")
    private Double csAveSlipest;

    /**
     * 平均同震位移误差
     */
    @Excel(name = "平均同震位移误差", width = 20, orderNum = "51")
    private Double csAveSliper;

    /**
     * 最新地震平均位移
     */
    @Excel(name = "最新地震平均位移", width = 20, orderNum = "52")
    private Double latestCsSlipest;

    /**
     * 最新地震平均位移误差
     */
    @Excel(name = "最新地震平均位移误差", width = 20, orderNum = "53")
    private Double latestCsSliper;

    /**
     * 断层符号基础位
     */
    @Excel(name = "断层符号基础位", width = 20, orderNum = "54")
    private String nsb1;

    /**
     * 断层符号下标位
     */
    @Excel(name = "断层符号下标位", width = 20, orderNum = "55")
    private String nsb2;

    /**
     * 断层符号上标位
     */
    @Excel(name = "断层符号上标位", width = 20, orderNum = "56")
    private String nsb3;

    /**
     * 断层显示码
     */
    @Excel(name = "断层显示码", width = 20, orderNum = "57")
    private String showCode;

    /**
     * 活断层探测研究状况  是否做过活断层探测：1(是)、0(否)
     */
    @Excel(name = "活断层探测研究状况", width = 20, orderNum = "58")
    private String activeFault;

    /**
     * 隐伏/出露
     */
    @Excel(name = "隐伏/出露", width = 20, orderNum = "59")
    private String status;

    /**
     * 活动时代
     */
    @Excel(name = "活动时代", width = 20, orderNum = "60")
    private String activePeriod;

    /**
     * 备注
     */
    @Excel(name = "备注", width = 20, orderNum = "61")
    private String commentInfo;

    /**
     * 1(省级)，2(国家级)
     */
    private String sourceFlag;

    /**
     * 0正常1删除
     */
    private String delFlag;

    /**
     * 数据版本
     */
    private String dataVersion;

    private String createUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String updateUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private String geom;

    /**
     * 断层编号
     */
    @Excel(name = "断层编号", width = 20, orderNum = "62")
    private String jfCode;

    /**
     * 省
     */
    @Excel(name = "省", width = 20, orderNum = "63")
    private String province;

    /**
     * 市
     */
    @Excel(name = "市", width = 20, orderNum = "64")
    private String city;

    /**
     * 县
     */
    @Excel(name = "县", width = 20, orderNum = "65")
    private String county;

    /**
     * 乡
     */
    @Excel(name = "乡", width = 20, orderNum = "66")
    private String town;

    private String extends1;

    private String extends2;

    private String extends3;

    private String extends4;

    private String extends5;

    private String extends6;

    private String extends7;

    private String extends8;

    private String extends9;

    private String extends10;

    /**
     * 断层性质父类
     */
    @Excel(name = "断层性质父类", width = 20, orderNum = "67")
    private String featureP;

    /**
     * 最新活动时代父类
     */
    @Excel(name = "最新活动时代父类", width = 20, orderNum = "68")
    private String latestActivePeriodP;

}

